Back-to-Back Testing

Back-to-back tests can compare the behavior of a system in different stages of the development by comparing a set of relevant signals with a prerecorded reference or with different platforms.

In back-to-back tests, only channels and parameters are compared. Assessment variables and measurements are not compared.

Features used to perform back-to-back testing

Differences between these back-to-back test features:

Back-to-back test feature of the Signal
Comparison assesslet
Back-to-back test feature of the Execution Configuration dialog

created manually and configured in
the Assesslets view

configured in the Execution Configuration dialog;

the Back-to-Back assesslet in the Assesslets view is automatically generated

one back-to-back test can be configured
per assesslet

several back-to-back tests can be configured in the Advanced mode in the Execution Configuration dialog

multiple assesslets that can be active
or inactive per test case
one assesslet is active for all test cases

supports also current test run data
as reference signal source

does not support current test run data as reference signal source

signals must be added manually

signals that are added automatically from the following groups:

  • input channels
  • output channels
  • local channels
  • parameters

Functions used to perform back-to-back testing

NaN handling in back-to-back testing

When using NaN in back-to-back testing the following applies:

NaN == NaN // results in true; deviates from the traditional NaN handling; differs from the Python logic

If all of the involved signal values are NaN, the calculated difference/deviation is 0.0. If some but not all of the involved values are NaN, the calculated difference/deviation is a constant:

DEVIATION_TO_NAN == Float.MAX_VALUE

 

Assuming there are the two signals NaN_signal and ref_signal that are to be compared with each other and there are three different time intervals where:

during TPT.Interval(0,20):

NaN_signal := 1

ref_signal := 1

// results in 0 because the deviation is 0

during TPT.Interval(20,40):

NaN_signal:= NaN_doub

ref_signal:= 1

// results in DEVIATION_TO_NAN == Float.MAX_VALUE == 3.4E+38;
// corresponds to the value of the constantTPT.DEVIATION_TO_NAN

during TPT.Interval(40,60):

NaN_signal:= NaN_doub

ref_signal:= NaN_doub

// results in 0 because the deviation is 0
// and NaN == NaN results in true

where NaN_doub represents the double value NaN.

NaN in back-to-back testing